//
//  TopFilter.m
//  GoShops
//
//  Created by zcj on 15-11-23.
//  Copyright (c) 2015年 郑朝军. All rights reserved.
//

#define TableViewW self.frame.size.width
#define TableViewH self.frame.size.height

#import "TopFilter.h"
#import "GetUrlString.h"
#import "Grouble.h"
#import "SelectFindHttp.h"
#import "MerchantCataGroupModel.h"
#import "KindFilterTableViewCell.h"
#import "KindSubclassFilterCell.h"

@interface TopFilter()<UITableViewDataSource, UITableViewDelegate>
{
    NSMutableArray *_bigGroupArray;//左边分组tableview的数据源
    NSMutableArray *_smallGroupArray;//右边分组tableview的数据源
    
    NSInteger _bigSelectedIndex;
    NSInteger _smallSelectedIndex;
}

@end
@implementation TopFilter

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.userInteractionEnabled = YES;
        _bigGroupArray = [[NSMutableArray alloc] init];
        _smallGroupArray = [[NSMutableArray alloc] init];
        //  在这个数据源里面加载数据
        [self initViews];
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            [self getCateListData];
        });

        // Initialization code
    }
    return self;
}
// 网络上加载数据
- (void)getCateListData
{
    NSString *urlStr = [[GetUrlString sharedManager]urlWithCateListStr];
    [SelectFindHttp getWirhUrl:urlStr parms:nil success:^(id json) {
         NSMutableArray *dataArray = [json objectForKey:@"data"];
        for (int i = 0; i < dataArray.count; i++) {
            MerchantCataGroupModel *cateModel = [MerchantCataGroupModel objectWithKeyValues:dataArray[i]];
            [_bigGroupArray addObject:cateModel];
        }
        // 我的Group
        [self.tableViewOfGroup reloadData];
    } failture:^(id error) {
        ZCJLog(@"%@",error);
    }];
}
// 搞一个tableView
- (void)initViews
{
    for (int i = 0 ; i < 2; i ++) {
        UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(i *TableViewW/2,  0, TableViewW/2, TableViewH) style:UITableViewStylePlain];
        tableView.tag = 10 + i;
        tableView.delegate = self;
        tableView.dataSource = self;
        if (i == 0 ) {
            //  每一个组
            self.tableViewOfGroup =tableView;
            self.tableViewOfGroup.backgroundColor = [UIColor whiteColor];
            
        }else{
            //组里面的细节
            self.tableViewOfDetail =tableView;
            self.tableViewOfDetail.backgroundColor = ZCJColor(242, 242, 242);
            
        }
        tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        [self addSubview:tableView];
        
    }

    
}
#pragma mark - 每一个cell有多高
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 42;
}
#pragma mark - 有多少个cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView.tag == 10) {// 第一个tableView
        KindFilterTableViewCell * cell = [KindFilterTableViewCell KindFilterTableViewCell:tableView];
        
        cell.merchantCataGroupModel = _bigGroupArray[indexPath.row];
        return cell;
    }else{// 第二个tableView
        MerchantCataGroupModel *cateModel = (MerchantCataGroupModel *)_bigGroupArray[_bigSelectedIndex];
        KindSubclassFilterCell * cell = [KindSubclassFilterCell KindSubclassFilterCell:tableView indexPath:indexPath model:cateModel];
        
        return cell;
    }
}
#pragma mark - 有多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (tableView.tag == 10) {// 第一个tableView的行数
        return _bigGroupArray.count;
    }else{// 第2个tableView的行数
        if (_bigGroupArray.count == 0) {
            return 0;
        }
        MerchantCataGroupModel *subclassCateM = (MerchantCataGroupModel *)_bigGroupArray[_bigSelectedIndex];
        if (subclassCateM.list == nil) {
            return 0;
        }else{
            return subclassCateM.list.count;
        }
    }
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView.tag == 10) {
        _bigSelectedIndex = indexPath.row;
        MerchantCataGroupModel *cataModel =  _bigGroupArray[_bigSelectedIndex];
        [self.tableViewOfDetail reloadData];
        if (cataModel.list == nil) {
            [self.tableViewOfDetail reloadData];
            [self.delegate tableView:tableView didSelectRowAtIndexPath:indexPath withId:cataModel.id];
        }else{
            [self.tableViewOfDetail reloadData];
        }
    }else{
//        _smallSelectedIndex = indexPath.row;
//        JFMerchantCataGroupModel *cataModel =  _bigGroupArray[_bigSelectedIndex];
//        NSDictionary *dict =  cataModel.list[_smallSelectedIndex];
//        NSNumber *ID = [dict objectForKey:@"id"];
//        //        NSString *name = [dic objectForKey:@"name"];
//        [self.delegate tableView:tableView didSelectRowAtIndexPath:indexPath withId:ID ];
//        
    }
}
@end

